class Solution(object):
    def maxUniqueSplit(self, s):
        n = len(s)
        self.max_len = 0
        sp = set()

        def search(k):
            if k == n:
                self.max_len = max(self.max_len, len(sp))
            else:
                for i in range(k, n):
                    if s[k: i + 1] not in sp:
                        sp.add(s[k: i + 1])
                        search(i + 1)
                        sp.remove(s[k: i + 1])
        search(0)
        return self.max_len
